package com.philips.work.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.philips.common.core.annotation.Excel;
import com.philips.common.core.web.domain.BaseEntity;

/**
 * 总流水对象 yw_flow
 * 
 * @author philips
 * @date 2025-05-20
 */
public class YwFlow extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private String ids;

    /** 账户ID */
    private Long accountId;

    /** 账户信息，记录excel导入账户 */
    @Excel(name = "账户信息")
    private String accountName;

    /** 导入账户是否正确，0-字典中没有；1-有。有要自动挂ID */
    private String isAccount;

    /** 日期，yyyy年m月d日 */
    @JsonFormat(pattern = "yyyy年M月d日")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy年M月d日")
    private Date flowDate;

    /** 摘要 */
    @Excel(name = "摘要")
    private String abstracts;

    /** 借方 */
    @Excel(name = "借方")
    private BigDecimal flowBorrow;

    /** 贷方 */
    @Excel(name = "贷方")
    private BigDecimal flowLoan;

    /** 备注ID */
    private Long remarkId;

    /** 导入备注 */
    @Excel(name = "备注")
    private String remark;

    /** 导入备注是否正确，0-字典中没有；1-有。有要自动挂ID */
    private String isRemark;

    /** 二级 */
    @Excel(name = "二级")
    private BigDecimal level2Flow;

    /** 导入是否有错。0-有错；1-没错（对3个字典项的整体判断） */
    private String noWrong;

    /** 数据创建时间 */
    private Date addTime;

    /** 最后更新时间 */
    private Date upTime;

    public void setIds(String ids) 
    {
        this.ids = ids;
    }

    public String getIds() 
    {
        return ids;
    }

    public void setAccountId(Long accountId) 
    {
        this.accountId = accountId;
    }

    public Long getAccountId() 
    {
        return accountId;
    }

    public void setAccountName(String accountName) 
    {
        this.accountName = accountName;
    }

    public String getAccountName() 
    {
        return accountName;
    }

    public void setIsAccount(String isAccount) 
    {
        this.isAccount = isAccount;
    }

    public String getIsAccount() 
    {
        return isAccount;
    }

    public void setFlowDate(Date flowDate) 
    {
        this.flowDate = flowDate;
    }

    public Date getFlowDate() 
    {
        return flowDate;
    }

    public void setAbstracts(String abstracts) 
    {
        this.abstracts = abstracts;
    }

    public String getAbstracts() 
    {
        return abstracts;
    }

    public void setFlowBorrow(BigDecimal flowBorrow) 
    {
        this.flowBorrow = flowBorrow;
    }

    public BigDecimal getFlowBorrow() 
    {
        return flowBorrow;
    }

    public void setFlowLoan(BigDecimal flowLoan) 
    {
        this.flowLoan = flowLoan;
    }

    public BigDecimal getFlowLoan() 
    {
        return flowLoan;
    }

    public void setRemarkId(Long remarkId) 
    {
        this.remarkId = remarkId;
    }

    public Long getRemarkId() 
    {
        return remarkId;
    }

    @Override
    public void setRemark(String remark)
    {
        this.remark = remark;
    }

    @Override
    public String getRemark()
    {
        return remark;
    }

    public void setIsRemark(String isRemark) 
    {
        this.isRemark = isRemark;
    }

    public String getIsRemark() 
    {
        return isRemark;
    }

    public void setLevel2Flow(BigDecimal level2Flow) 
    {
        this.level2Flow = level2Flow;
    }

    public BigDecimal getLevel2Flow() 
    {
        return level2Flow;
    }

    public void setNoWrong(String noWrong) 
    {
        this.noWrong = noWrong;
    }

    public String getNoWrong() 
    {
        return noWrong;
    }

    public void setAddTime(Date addTime) 
    {
        this.addTime = addTime;
    }

    public Date getAddTime() 
    {
        return addTime;
    }

    public void setUpTime(Date upTime) 
    {
        this.upTime = upTime;
    }

    public Date getUpTime() 
    {
        return upTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("ids", getIds())
            .append("accountId", getAccountId())
            .append("accountName", getAccountName())
            .append("isAccount", getIsAccount())
            .append("flowDate", getFlowDate())
            .append("abstracts", getAbstracts())
            .append("flowBorrow", getFlowBorrow())
            .append("flowLoan", getFlowLoan())
            .append("remarkId", getRemarkId())
            .append("remark", getRemark())
            .append("isRemark", getIsRemark())
            .append("level2Flow", getLevel2Flow())
            .append("noWrong", getNoWrong())
            .append("addTime", getAddTime())
            .append("upTime", getUpTime())
            .toString();
    }
}
